package wsht.infrastructure.utils;

import java.util.List;

import org.springframework.beans.factory.FactoryBean;


public class ClassArrayFactoryBean implements FactoryBean {

	private List<String> classNames;

	/*
	 * (non-Javadoc)
	 * 
	 * @see org.springframework.beans.factory.FactoryBean#getObject()
	 */
	public Object getObject() throws Exception {

		final Class<?>[] classes = new Class<?>[classNames.size()];
		for (int i = 0; i < classNames.size(); i++) {
			classes[i] = Class.forName(classNames.get(i));
			System.out.println("Class: " + classes[i].toString());
		}
		return classes;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see org.springframework.beans.factory.FactoryBean#getObjectType()
	 */
	public Class<?> getObjectType() {
		return Class[].class;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see org.springframework.beans.factory.FactoryBean#isSingleton()
	 */
	public boolean isSingleton() {
		return true;
	}

	/**
	 * @return the classNames
	 */
	public List<String> getClassNames() {
		return classNames;
	}

	/**
	 * @param classNames
	 *            the classNames to set
	 */
	public void setClassNames(List<String> classNames) {
		this.classNames = classNames;
	}

}

